package com.ruoyi.system.domain;

import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 笔记评论对象 note_comment
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class NoteComment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 评论ID */
    private Long commentId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 笔记类型（1=日常笔记 2=文档） */
    @Excel(name = "笔记类型", readConverterExp = "1=日常笔记,2=文档")
    private String noteType;

    /** 笔记ID */
    @Excel(name = "笔记ID")
    private Long noteId;

    /** 父评论ID（0为顶级评论） */
    @Excel(name = "父评论ID")
    private Long parentId;

    /** 回复的用户ID */
    private Long replyToUserId;

    /** 评论内容 */
    @Excel(name = "评论内容")
    private String content;

    /** 点赞数 */
    @Excel(name = "点赞数")
    private Long likeCount;

    /** 状态（0正常 1删除） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=删除")
    private String status;

    /** 用户昵称（关联查询字段） */
    private String userNickname;

    /** 用户头像（关联查询字段） */
    private String userAvatar;

    /** 回复用户昵称（关联查询字段） */
    private String replyToUserNickname;

    /** 笔记标题（关联查询字段） */
    private String noteTitle;

    /** 子评论列表 */
    private List<NoteComment> children;

    public void setCommentId(Long commentId) 
    {
        this.commentId = commentId;
    }

    public Long getCommentId() 
    {
        return commentId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setNoteType(String noteType) 
    {
        this.noteType = noteType;
    }

    public String getNoteType() 
    {
        return noteType;
    }
    public void setNoteId(Long noteId) 
    {
        this.noteId = noteId;
    }

    public Long getNoteId() 
    {
        return noteId;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setReplyToUserId(Long replyToUserId) 
    {
        this.replyToUserId = replyToUserId;
    }

    public Long getReplyToUserId() 
    {
        return replyToUserId;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setLikeCount(Long likeCount) 
    {
        this.likeCount = likeCount;
    }

    public Long getLikeCount() 
    {
        return likeCount;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public String getUserNickname() {
        return userNickname;
    }

    public void setUserNickname(String userNickname) {
        this.userNickname = userNickname;
    }

    public String getUserAvatar() {
        return userAvatar;
    }

    public void setUserAvatar(String userAvatar) {
        this.userAvatar = userAvatar;
    }

    public String getReplyToUserNickname() {
        return replyToUserNickname;
    }

    public void setReplyToUserNickname(String replyToUserNickname) {
        this.replyToUserNickname = replyToUserNickname;
    }

    public String getNoteTitle() {
        return noteTitle;
    }

    public void setNoteTitle(String noteTitle) {
        this.noteTitle = noteTitle;
    }

    public List<NoteComment> getChildren() {
        return children;
    }

    public void setChildren(List<NoteComment> children) {
        this.children = children;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("commentId", getCommentId())
            .append("userId", getUserId())
            .append("noteType", getNoteType())
            .append("noteId", getNoteId())
            .append("parentId", getParentId())
            .append("replyToUserId", getReplyToUserId())
            .append("content", getContent())
            .append("likeCount", getLikeCount())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}